A many-core system includes plural cores and at least one router. In the conventional many-core system, for example, in the case that a data packet is forwarded to a memory through a router, a core locks a path that is used to forward the data packet.
In this case, other cores cannot use the locked path. Accordingly, in order to use the locked path, other cores are brought to a deadlock state in which the cores have to wait until the path is unlocked.
In contrast, a method for providing virtual channels in each router port one is dedicated to an unlock packet, others can be used by other cores if they have different destination as the locked core. However, in the case of this method, a size and power consumption of the router increase. That is, in the conventional many-core system, the deadlock state cannot be avoided without increasing the size and the power consumption of the router.